'Cocci Kaleido
'A bot with a huge eye amount
'Could be F2 valid, not sure if defense counts
'If it doesn't work, try deleting the comments
'
'###################
'# STEERING SYSTEM #
'###################
'these nine genes each correspond to an eye,
'setting it as the focus eye if the more inner
'eyes are 0. To resolve clashes, the right side
'is favoured.

cond
 *.eye1 0 !=
 *.eye2 0 =
 *.eye3 0 =
 *.eye4 0 =
 *.eye5 0 =
 *.eye6 0 =
 *.eye7 0 =
 *.eye8 0 =
 *.eye9 0 =
start
 -4 .focuseye store
stop

cond
 *.eye2 0 =
 *.eye3 0 =
 *.eye4 0 =
 *.eye5 0 =
 *.eye6 0 =
 *.eye7 0 =
 *.eye8 0 =
 *.eye9 0 !=
start
 4 .focuseye store
stop

cond
 *.eye2 0 !=
 *.eye3 0 =
 *.eye4 0 =
 *.eye5 0 =
 *.eye6 0 =
 *.eye7 0 =
 *.eye8 0 =
start
 -3 .focuseye store
stop

cond
 *.eye3 0 =
 *.eye4 0 =
 *.eye5 0 =
 *.eye6 0 =
 *.eye7 0 =
 *.eye8 0 !=
start
 3 .focuseye store
stop

cond
 *.eye3 0 !=
 *.eye4 0 =
 *.eye5 0 =
 *.eye6 0 =
 *.eye7 0 =
start
 -2 .focuseye store
stop

cond
 *.eye4 0 =
 *.eye5 0 =
 *.eye6 0 =
 *.eye7 0 !=
start
 2 .focuseye store
stop

cond
 *.eye4 0 !=
 *.eye5 0 =
 *.eye6 0 =
start
 -1 .focuseye store
stop

cond
 *.eye5 0 =
 *.eye6 0 !=
start
 1 .focuseye store
stop

cond
 *.eye5 0 !=
start
 0 .focuseye store
stop

'If you are my species, or no-one's there,
'look around.
cond
 *.eyef 0 =
 *.refeye *.myeye = or
start
 314 rnd .aimsx store
stop

'You are not me, so I turn to face you.

cond
 *.eyef 0 !=
 *.refeye *.myeye !=
start
 *.refxpos *.refypos angle *.refvelsx add .setaim store
 3 .up store
stop

'####################
'# ANTIVIRUS SYSTEM #
'####################

cond
 *.mkvirus 0 !=
 *.nrg 100 >
start
 *.mkvirus .delgene store
 10 .mkslime store
stop

'################
'# BOT UPDATING #
'################

cond
start
 *.tiepres .deltie store
 *.nrg 3 div *.body sub dup .strbody store
 - .fdbody store
 .shoot store
stop

'###########
'# FEEDING #
'###########
'Eat normally

cond
 *.refeye *.myeye !=
 *.eye5 40 >
start
 *.nrg 10 div 4 floor 64 ceil .shootval store
 -6 .shoot store
 999 dec
stop

'You have shell, but no poison, so I'll switch
'my attack style.

cond
 *.refeye *.myeye !=
 *.eye5 40 >
 *.refpoison 0 =
 *.refshell 0 >
start
 -1 .shoot store
stop

'Waste disposal

cond
 *.waste 50 >
start
 *.waste .shootval store
 -4 .shoot store
stop

'##########
'# POISON #
'##########

cond
 *999 0 <=
 *.nrg 200 >
start
 10 .strvenom store
 .mkslime .vloc store
 32000 .venval store
 250 999 store
stop

cond
 *.refeye *.myeye !=
 *.refeye 0 !=
 *.eye5 40 >
 *.timer 0 <=
start
 *.venom .shootval store
 -3 .shoot store
stop

'################
'# REPRODUCTION #
'################

cond
 *.nrg 5000 >
start
 50 .repro store
stop